package com.hsp.Demo_03_object;

import com.sun.org.apache.bcel.internal.generic.NEW;

public class Demo_05 {
    public static void main(String[] args) {
        /*
        需求：
            使用递归的方式，求出斐波那契数： 1， 1， 2， 3， 5， 8， 13..., 给你一个整数，求出它的值
        思路分析：
            当 n = 1 时， 输出 1
            当 n = 2 时， 输出 1
            当 n = 3 时， 输出 2， 就是它的前两个数的和
            所以：当n > 2 后，  f(n) = f(n-1) + f(n-2);
         */
        DD dd = new DD();
        int fibonacci = dd.Fibonacci(20);
        if(fibonacci != -1){
            System.out.println("斐波那契的第七位上的数为：" + fibonacci);
        }

    }
}

class DD{

    public int Fibonacci(int n){
        if(n >= 1) {
            if (n == 1 || n == 2) {
                return 1;
            } else {
                return Fibonacci(n - 1) + Fibonacci(n - 2);
            }
        }else{
            System.out.println("输入的整数必须大于1！");
            return -1;
        }
    }

}
